package com.entity;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import com.baomidou.mybatisplus.annotations.Version;

import com.vo.SharesHyVsggVo;
import com.vo.SharesZdfCopyVo;
import com.vo.SharesZjlx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author wty
 * @since 2021-11-19
 */
@Data
@Accessors(chain = true)
@TableName("hint_shares")
public class HintShares extends Model<HintShares> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
//    @TableField(exist = false)
    @TableField("ts_order")
    private int tsOrder;

//    @TableField(exist = false)
    private int asorder;

    @TableField(exist = false)
    private int yd;

    /**
     * 名字
     */
    private String name;
    private String code;
    /**
     * 提示价格
     */
    private BigDecimal tsprice;
    /**
     * 日期
     */
    private String time;
    private String zhint;
    private String yhint;
    private String type;
    private String sgin;
    @TableField("keep_num")
    private Integer keepNum;
    @TableField("keep_total")
    private Integer keepTotal;
    @TableField("ts_time")
    private Long tsTime;
    /**
     * 昨天的收盘价
     */
    @TableField(exist = false)
    private BigDecimal cPrice;

    /**
     * 提示的涨跌幅
     */
    @TableField(exist = false)
    private String tsZdf;


    @TableField(exist = false)
    private BigDecimal newPrice;

    @TableField(exist = false)
    private String srcf;
    @TableField(exist = false)
    private String src5;
    @TableField(exist = false)
    private String srcr;
    @TableField(exist = false)
    private String srcz;
    @TableField(exist = false)
    private String srcy;
    @TableField(exist = false)
    private String zyPrice;
    /**
     * 当前最高价
     */
    @TableField(exist = false)
    private BigDecimal hPrice;

    /**
     * 周回撤
     * @return
     */
    @TableField(exist = false)
    private String zback;
    /**
     * 月回撤
     * @return
     */
    @TableField(exist = false)
    private String yback;
    /**
     * 最近解禁日期
     */
    @TableField(exist = false)
    private Long unfastenDay;

    /**
     * 最近解禁日期
     */
    @TableField(exist = false)
    private List<String> unfastenList;

    /**
     * 最近解禁日期
     */
    @TableField(exist = false)
    private String sshy;

    /**
     * 最新涨跌幅
     */
    @TableField("new_zdf")
    private String newZdf;

    /**
     * 本周涨幅
     */
    @TableField(exist = false)
    private int zzfsign;
    /**
     * 周涨幅差距
     */
    @TableField(exist = false)
    private String zzdfsub;

    @TableField(exist = false)
    private String maxzzdf;
    /**
     * 月涨幅差距
     */
    @TableField(exist = false)
    private String yzdfsub;

    @TableField(exist = false)
    private String maxyzdf;
    /**
     * 本周涨幅历史数据
     */
    @TableField(exist = false)
    private List<SharesZdfCopyVo> zvoList=new ArrayList<>();


    /**
     * 本月涨幅
     */
    @TableField(exist = false)
    private int yzfsign;

    /**
     * 本月涨幅,模拟，当天最大
     */
    @TableField(exist = false)
    private int maxysgin;

    /**
     * 本周涨幅,模拟，当天最大
     */
    @TableField(exist = false)
    private int maxzsgin;

    @TableField(exist = false)
    List<SharesHyzx> sharesHyzxes=new ArrayList<>();
    /**
     * 最近公告
     */
    @TableField(exist = false)
    List<SharesNotice> notices=new ArrayList<>();
    /**
     * 减持增持
     */
    @TableField(exist = false)
    List<SharesDirection> sharesDirections=new ArrayList<>();

    /**
     * 本周涨幅历史数据
     */
    @TableField(exist = false)
    private List<SharesZdfCopyVo> yvoList=new ArrayList<>();
    /**
     * bgcz
     */
    @TableField(exist = false)
    private  List<SharesBgcz> sharesBgczs=new ArrayList<>();
    /**
     * yjyg
     */
    @TableField(exist = false)
    private List<SharesYjyg> sharesYjygs=new ArrayList<>();
    /**
     * yjyg
     */
    @TableField(exist = false)
    private List<SharesYjbg> sharesYjbgs=new ArrayList<>();
    /**
     * gdnum
     */
    @TableField(exist = false)
    private List<SharesGdnum> sharesGdnums=new ArrayList<>();
    /**
     * gdchange
     */
    @TableField(exist = false)
    private List<SharesGdChange> sharesGdChanges =new ArrayList<>();

    /**
     * 行业资金流向
     * @return
     */
    @TableField(exist = false)
    private SharesZjlx bkzj;

    /**
     * 个股资金流向
     * @return
     */
    @TableField(exist = false)
    private SharesZjlx ggzj;
    /**
     * 个股市盈率
     * @return
     */
    @TableField(exist = false)
    private SharesHyVsggVo ggsyl;
    /**
     * 行业市盈率
     * @return
     */
    @TableField(exist = false)
    private SharesHyVsggVo hysyl;


    @TableField(exist = false)
    private String  sshyPercent;
    @TableField(exist = false)
    private String  ssgn;
    /**
     * 最近统计日期
     */
    @TableField(exist = false)
    private String tjDate;
    @TableField(exist = false)
    private Integer tsNum;
    @TableField(exist = false)
    private String magical;
    @TableField(exist = false)
    private String bzzf;
    @TableField(exist = false)
    private String byzf;
    @TableField(exist = false)
    private String dbzf;
    /**
     * 季报涨幅
     */
    @TableField(exist = false)
    private String jbzf;

    @TableField(exist = false)
    private List<SharesBusiness> businesses=new ArrayList<>();

    @TableField(exist = false)
    private int index;

    @TableField(exist = false)
    private Set<String> hType=new HashSet<>();
    //分时均线
    @TableField(exist = false)
    private String mavg;
    //标记大于还是小于
    @TableField(exist = false)
    private String gn;

    @TableField(exist = false)
    private BigDecimal tsLowest;
    @TableField(exist = false)
    private String setout;


    /**
     * 低于均线
     */
    @TableField(exist = false)
    private Integer mavgSign;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
